﻿package com.obas.model.type
{
	import com.ease.common.enums.TextualEnum;
	import com.ease.lang.Enum;
	import com.ease.lang.EnumConstants;
	import com.obas.model.type.AnalogyDimensionType;

	[Bindable]
	[RemoteClass(alias="com.obas.model.type.AnalogyDimensionType")]

	public class AnalogyDimensionType extends Enum
	{
		/* static init */
		{ initEnum(AnalogyDimensionType); }

		/* Constants */
		public static const USER:AnalogyDimensionType = new AnalogyDimensionType("USER", "单用户", true);
		public static const USERAPP:AnalogyDimensionType = new AnalogyDimensionType("USERAPP", "单用户单应用能力", true);
		public static const USERSVC:AnalogyDimensionType = new AnalogyDimensionType("USERSVC", "单用户单业务能力", true);
		public static const BANDTAPP:AnalogyDimensionType = new AnalogyDimensionType("BANDTAPP", "单用户单应用能力", true);
		public static const BANDTSVC:AnalogyDimensionType = new AnalogyDimensionType("BANDTSVC", "单用户单业务能力", true);
		public static const APP:AnalogyDimensionType = new AnalogyDimensionType("APP", "单应用能力", true);
		public static const SVC:AnalogyDimensionType = new AnalogyDimensionType("SVC", "单业务能力", true);
		public static const ROUTE:AnalogyDimensionType = new AnalogyDimensionType("ROUTE", "单用户路由能力", true);
		public static const SVLAN:AnalogyDimensionType = new AnalogyDimensionType("SVLAN", "网络BRAS节点单SVLAN能力", true);
		public static const PORT:AnalogyDimensionType = new AnalogyDimensionType("PORT", "网络BRAS节点单PORT能力", true);
		public static const DEVICE:AnalogyDimensionType = new AnalogyDimensionType("DEVICE", "网络节点能力", true);
		public static const DEVICEAPP:AnalogyDimensionType = new AnalogyDimensionType("DEVICEAPP", "网络节点单应用能力", true);
		public static const DEVICESVC:AnalogyDimensionType = new AnalogyDimensionType("DEVICESVC", "网络节点单业务能力	", true);
		public static const DNSAPP:AnalogyDimensionType = new AnalogyDimensionType("DNSAPP", "应用DNS服务器能力", false);

		private var _text:String;
		private var _enabled:Boolean;

		/*public*/ function AnalogyDimensionType(name:String=null ,text:String=null ,enabled:Boolean=false) {
			super.name = name;
			this._text = text;
			this._enabled = enabled;
		}

		public function get text():String  { return this._text; }
		public function get enabled():Boolean  { return this._enabled; }

		/* constant query */
		public static function getEnumConstants():Array {
			return Enum.getEnumConstants(AnalogyDimensionType);
		}

		public static function get(constantName:String, caseSensitive:Boolean = false):AnalogyDimensionType {
			return AnalogyDimensionType(Enum.get(AnalogyDimensionType, constantName, caseSensitive));
		}
	}
}